package cn.llin.dlxx.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.llin.common.annotation.Excel;
import cn.llin.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;


/**
 * 数据仓库——车辆预警数据信息对象 data_vehicle_warning
 *
 * @author llin
 * @date 2023-02-22
 */
public class DataVehicleWarning extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报警记录ID */
    private String vehicleWarningId;

    /** 车牌种类(号牌种类) */
    @Excel(name = "车牌种类(号牌种类)")
    private String plateNumberType;

    /** 车牌号码（号牌号码） */
    @Excel(name = "车牌号码", readConverterExp = "号=牌号码")
    private String plateNumber;

    /** 报警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报警时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date warningTime;

    /** 车辆限速 */
    @Excel(name = "车辆限速")
    private Long vehicleSpeedLimit;

    /** 卡口编号 */
    @Excel(name = "卡口编号")
    private String checkpointCode;

    /** 卡口相机抓拍时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "卡口相机抓拍时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkpointCameraTime;

    /** 报警地点 */
    @Excel(name = "报警地点")
    private String warningAddress;

    /** 报警状态（0:未处理，1:处理中，2:已处理） */
    @Excel(name = "报警状态", readConverterExp = "0=:未处理，1:处理中，2:已处理")
    private String warningStatus;

    /** 报警状态翻译 */
    @Excel(name = "报警状态翻译")
    private String warningStatusStr;

    /** 车牌小图片 */
    @Excel(name = "车牌小图片")
    private String vehicleNumberLogo;

    /** 过车图片 */
    @Excel(name = "过车图片")
    private String vehicleInLogo;

    /** 布控类型 */
    @Excel(name = "布控类型")
    private String controlType;

    /** 布控类型翻译 */
    @Excel(name = "布控类型翻译")
    private String controlTypeStr;

    /** 布控开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "布控开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date controlStartTime;

    /** 布控结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "布控结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date controlEndTime;

    /** 短信报警号码 */
    @Excel(name = "短信报警号码")
    private String tels;

    /** 布控人姓名 */
    @Excel(name = "布控人姓名")
    private String controlUserName;

    /** 布控人userId */
    @Excel(name = "布控人userId")
    private String controlUserId;

    /** 报警原因 */
    @Excel(name = "报警原因")
    private String warningReason;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inTime;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /** 出警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出警时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date timeAction;

    /** 出警警员 */
    @Excel(name = "出警警员")
    private String policeNumberAction;

    /** 是否删除（N:未删除，Y:已删除） */
    @Excel(name = "是否删除", readConverterExp = "N=:未删除，Y:已删除")
    private String deleteStatus;

    /** 创建者 */
    @Excel(name = "创建者")
    private String creator;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date addTime;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date  updateTime;

    /** 已通知警员id，待警员确认派遣任务 */
    @Excel(name = "已通知警员id，待警员确认派遣任务")
    private String noticePolices;

    public void setVehicleWarningId(String vehicleWarningId)
    {
        this.vehicleWarningId = vehicleWarningId;
    }

    public String getVehicleWarningId()
    {
        return vehicleWarningId;
    }
    public void setPlateNumberType(String plateNumberType)
    {
        this.plateNumberType = plateNumberType;
    }

    public String getPlateNumberType()
    {
        return plateNumberType;
    }
    public void setPlateNumber(String plateNumber)
    {
        this.plateNumber = plateNumber;
    }

    public String getPlateNumber()
    {
        return plateNumber;
    }
    public void setWarningTime(Date warningTime)
    {
        this.warningTime = warningTime;
    }

    public Date getWarningTime()
    {
        return warningTime;
    }
    public void setVehicleSpeedLimit(Long vehicleSpeedLimit)
    {
        this.vehicleSpeedLimit = vehicleSpeedLimit;
    }

    public Long getVehicleSpeedLimit()
    {
        return vehicleSpeedLimit;
    }
    public void setCheckpointCode(String checkpointCode)
    {
        this.checkpointCode = checkpointCode;
    }

    public String getCheckpointCode()
    {
        return checkpointCode;
    }
    public void setCheckpointCameraTime(Date checkpointCameraTime)
    {
        this.checkpointCameraTime = checkpointCameraTime;
    }

    public Date getCheckpointCameraTime()
    {
        return checkpointCameraTime;
    }
    public void setWarningAddress(String warningAddress)
    {
        this.warningAddress = warningAddress;
    }

    public String getWarningAddress()
    {
        return warningAddress;
    }
    public void setWarningStatus(String warningStatus)
    {
        this.warningStatus = warningStatus;
    }

    public String getWarningStatus()
    {
        return warningStatus;
    }
    public void setWarningStatusStr(String warningStatusStr)
    {
        this.warningStatusStr = warningStatusStr;
    }

    public String getWarningStatusStr()
    {
        return warningStatusStr;
    }
    public void setVehicleNumberLogo(String vehicleNumberLogo)
    {
        this.vehicleNumberLogo = vehicleNumberLogo;
    }

    public String getVehicleNumberLogo()
    {
        return vehicleNumberLogo;
    }
    public void setVehicleInLogo(String vehicleInLogo)
    {
        this.vehicleInLogo = vehicleInLogo;
    }

    public String getVehicleInLogo()
    {
        return vehicleInLogo;
    }
    public void setControlType(String controlType)
    {
        this.controlType = controlType;
    }

    public String getControlType()
    {
        return controlType;
    }
    public void setControlTypeStr(String controlTypeStr)
    {
        this.controlTypeStr = controlTypeStr;
    }

    public String getControlTypeStr()
    {
        return controlTypeStr;
    }
    public void setControlStartTime(Date controlStartTime)
    {
        this.controlStartTime = controlStartTime;
    }

    public Date getControlStartTime()
    {
        return controlStartTime;
    }
    public void setControlEndTime(Date controlEndTime)
    {
        this.controlEndTime = controlEndTime;
    }

    public Date getControlEndTime()
    {
        return controlEndTime;
    }
    public void setTels(String tels)
    {
        this.tels = tels;
    }

    public String getTels()
    {
        return tels;
    }
    public void setControlUserName(String controlUserName)
    {
        this.controlUserName = controlUserName;
    }

    public String getControlUserName()
    {
        return controlUserName;
    }
    public void setControlUserId(String controlUserId)
    {
        this.controlUserId = controlUserId;
    }

    public String getControlUserId()
    {
        return controlUserId;
    }
    public void setWarningReason(String warningReason)
    {
        this.warningReason = warningReason;
    }

    public String getWarningReason()
    {
        return warningReason;
    }
    public void setInTime(Date inTime)
    {
        this.inTime = inTime;
    }

    public Date getInTime()
    {
        return inTime;
    }
    public void setLongitude(BigDecimal longitude)
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude()
    {
        return longitude;
    }
    public void setLatitude(BigDecimal latitude)
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude()
    {
        return latitude;
    }
    public void setTimeAction(Date timeAction)
    {
        this.timeAction = timeAction;
    }

    public Date getTimeAction()
    {
        return timeAction;
    }
    public void setPoliceNumberAction(String policeNumberAction)
    {
        this.policeNumberAction = policeNumberAction;
    }

    public String getPoliceNumberAction()
    {
        return policeNumberAction;
    }
    public void setDeleteStatus(String deleteStatus)
    {
        this.deleteStatus = deleteStatus;
    }

    public String getDeleteStatus()
    {
        return deleteStatus;
    }
    public void setCreator(String creator)
    {
        this.creator = creator;
    }

    public String getCreator()
    {
        return creator;
    }
    public void setAddTime(Date addTime)
    {
        this.addTime = addTime;
    }

    public Date getAddTime()
    {
        return addTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public void setNoticePolices(String noticePolices)
    {
        this.noticePolices = noticePolices;
    }

    public String getNoticePolices()
    {
        return noticePolices;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("vehicleWarningId", getVehicleWarningId())
            .append("plateNumberType", getPlateNumberType())
            .append("plateNumber", getPlateNumber())
            .append("warningTime", getWarningTime())
            .append("vehicleSpeedLimit", getVehicleSpeedLimit())
            .append("checkpointCode", getCheckpointCode())
            .append("checkpointCameraTime", getCheckpointCameraTime())
            .append("warningAddress", getWarningAddress())
            .append("warningStatus", getWarningStatus())
            .append("warningStatusStr", getWarningStatusStr())
            .append("vehicleNumberLogo", getVehicleNumberLogo())
            .append("vehicleInLogo", getVehicleInLogo())
            .append("controlType", getControlType())
            .append("controlTypeStr", getControlTypeStr())
            .append("controlStartTime", getControlStartTime())
            .append("controlEndTime", getControlEndTime())
            .append("tels", getTels())
            .append("controlUserName", getControlUserName())
            .append("controlUserId", getControlUserId())
            .append("warningReason", getWarningReason())
            .append("inTime", getInTime())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("timeAction", getTimeAction())
            .append("policeNumberAction", getPoliceNumberAction())
            .append("deleteStatus", getDeleteStatus())
            .append("creator", getCreator())
            .append("addTime", getAddTime())
            .append("updateTime", getUpdateTime())
            .append("noticePolices", getNoticePolices())
            .toString();
    }
}
